//
//  main.m
//  OC01_类和对象
//
//  Created by wyx on 16/2/24.
//  Copyright © 2016年 Apon. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
#pragma mark - 知识点1: 类和对象.
  /**
   * 类:由实例变量(特征)和方法(行为)组成.
   * 面相对象编程三步:定义类,创建对象,使用对象.
   */
#pragma mark - 1.1 类的定义.
    /** 详见 Person.h 和 Person. m 类文件*/
#pragma mark - 1.2 创建对象.
#if 0
    //开辟空间.
    Person *person1 = [Person alloc];
    //初始化
    person1 = [person1 init];
    //alloc 之后必须初始化,所以 alloc和 init 方法连写.
    Person *person2 = [[Person alloc] init];
#endif
    
#pragma mark - 知识点2: 使用对象.
#if 0
    /**使用对象,就是调用方法(功能).*/
    
    //创建对象.
    Person *per1 = [[Person alloc] init];
    //使用对象
    [per1 info];
    [per1 sayHi];
#endif
#pragma mark - 知识点3: 实例变量的操作对象.
    Person *per1 = [[Person alloc] init];
    //实例变量的赋值
    per1->_name = @"张三";
    per1->_age = 18;
    //实例变量的取值.
    NSLog(@"name:%@",per1->_name);
    //调用对象方法
    [per1 sayHi];
    return 0;
}
